/* 
 * File:   ParseException.h
 * Author: Gab'z
 *
 * Created on 25 mai 2012, 12:55
 */

#ifndef PARSEEXCEPTION_H
#define	PARSEEXCEPTION_H

#include <exception>
#include <string>

namespace calculator {

    /**
     * Classe d'exception de parsing
     * Exception lancée si CalculatorParser ne parvient pas à traduire une chaîne de caractères.
     * @param e la cause de l'exception.
     */
    class ParseException : public std::exception {
        std::string info;
    public:

        ParseException(const std::string& i) : info("Erreur de parsing : " + i) {
        }

        virtual ~ParseException()throw () {
        }

        const char* what() const throw () {
            return info.c_str();
        }
    };

}
#endif	/* PARSEEXCEPTION_H */
